rm(list = ls())
#setwd("~/Dropbox/Energiewende_Project/All_Replication_Files")
setwd("C:/Users/chris/Dropbox/Energiewende_Project/All_Replication_Files")
#Loading in Packages ----------------------------------------------------------------------------------

library(dplyr)
library(sandwich)
library(lmtest)
library(margins)
library(ggplot2)
library(scales)
library(gridExtra)
library(readr)

####################################################################################################################################
############################################Filtering for Completed Answers that passed Attention Checks############################
####################################################################################################################################
`%notin%` <- Negate(`%in%`)

data <- read.csv("rawdata.csv", stringsAsFactors = F)
data <- data[-c(1,2),]

data <- data %>% filter(Consent =="Ja, ich nehme an der Studie teil")
datall <- data

data <- subset(datall, datall$attention2 == "Atomkraft")

#calculating pass rate for attention check:
pass.rate <- nrow(data)/nrow(datall)

#pass rate = 57.6%

#loading in quota data
screener_data_3213 <- read_delim("screener data 3213.csv", ";", escape_double = FALSE, trim_ws = TRUE)

data <- merge(data, screener_data_3213, by = c("tic"), all.x=T)

#only finished answers:
data <- subset(data, data$Finished=="TRUE")

#total number of complete answers in our dataset: 2191


####################################################################################################################################
############################################Cleaning Data###########################################################################
####################################################################################################################################

#transforming mock vignette data:

data$MV1 <- ifelse(data$MVQ1 == "Reduktion von Schwefel", 1, 0)
data$MV2 <- ifelse(data$MVQ2 == "Internationale Seeschifffahrts-Organisation", 1, 0)
data$MV3 <- ifelse(data$MVQ3 == "Erhöhte Meeresverschmutzung", 1, 0)
data$MVtotal <- data$MV1 + data$MV2 + data$MV3

#recoding treatment and outcome data for coal exit: 

data$E3_yearexit_1 <- as.numeric(paste(data$E3_yearexit_1))

#before or after initial date?
data$coalexitpremax <- 2050-data$E3_yearexit_1

#binary variable for desired coal exit before 2038
data$coalexitsooner <- ifelse(data$E3_yearexit_1<2038,1,0)


#transforming exit support into 5 point numerical scale
data$E3_exitsupport <- dplyr::recode(data$E3_exitsupport,
                              "Ich bin voll und ganz dagegen" = -2,
                              "Ich bin eher dagegen" = -1,
                              "Ich bin weder dagegen noch dafür" = 0,
                              "Ich bin eher dafür" = 1,
                              "Ich bin voll und ganz dafür" = 2)

#binary support/oppose variables:

data$coalexitsupport <- ifelse(data$E3_exitsupport <1, 0, ifelse(data$E3_exitsupport>0,1,NA))

#names of treatments coal exit experiment
data$coalexit <-dplyr::recode(data$coalexit,
                          "1" = "Control",
                          "2" = "Compensation for Consumers Treatment",
                          "3" = "Compensation for Investors Treatment",
                          "4" = "Compensation for Workers",
                          "5" = "Compensation for Regions")

#Control as baseline factor
data$coalexit <- relevel(as.factor(data$coalexit), "Control")

#creating variables for heterogeneity probes:
data$all <- 1


#climate attitudes
data$climate_policyn <-dplyr::recode(data$climate_policy ,
                                "Ich bin voll und ganz dafür" = 4,
                                "Ich bin eher dafür" = 3,
                                "Ich bin weder dagegen noch dafür" =2,
                                "Ich bin eher dagegen"=1,
                                "Ich bin voll und ganz dagegen" = 0 
                                           
)



#support/oppose high levels of government intervention

#einen Arbeitsplatz für jeden bereitzustellen, der arbeiten will
data$sti1 <-dplyr::recode(data$state_intervention_1,
                    "Der Staat sollte auf jeden Fall verantwortlich sein" =4,
                    "Der Staat sollte verantwortlich sein" =3,
                    "Der Staat sollte nicht verantwortlich sein" =2,
                    "Der Staat sollte auf keinen Fall verantwortlich sein"=1)

#die Preise unter Kontrolle zu halten
data$sti2 <-dplyr::recode(data$state_intervention_2,
                    "Der Staat sollte auf jeden Fall verantwortlich sein" =4,
                    "Der Staat sollte verantwortlich sein" =3,
                    "Der Staat sollte nicht verantwortlich sein" =2,
                    "Der Staat sollte auf keinen Fall verantwortlich sein"=1)

#gesundheitliche Versorgung fuer Kranke sicherstellen
data$sti3 <-dplyr::recode(data$state_intervention_3,
                    "Der Staat sollte auf jeden Fall verantwortlich sein" =4,
                    "Der Staat sollte verantwortlich sein" =3,
                    "Der Staat sollte nicht verantwortlich sein" =2,
                    "Der Staat sollte auf keinen Fall verantwortlich sein"=1)

#alten Menschen einen angemessenen Lebensstandard zu sichern
data$sti4 <-dplyr::recode(data$state_intervention_4,
                    "Der Staat sollte auf jeden Fall verantwortlich sein" =4,
                    "Der Staat sollte verantwortlich sein" =3,
                    "Der Staat sollte nicht verantwortlich sein" =2,
                    "Der Staat sollte auf keinen Fall verantwortlich sein"=1)

#der Industrie Hilfen zu gewaehren, um ihr Wachstum zu sichern
data$sti5 <-dplyr::recode(data$state_intervention_5,
                    "Der Staat sollte auf jeden Fall verantwortlich sein" =4,
                    "Der Staat sollte verantwortlich sein" =3,
                    "Der Staat sollte nicht verantwortlich sein" =2,
                    "Der Staat sollte auf keinen Fall verantwortlich sein"=1)


#den Arbeitslosen einen angemessenen Lebensstandard zu sichern
data$sti6 <-dplyr::recode(data$state_intervention_6,
                    "Der Staat sollte auf jeden Fall verantwortlich sein" =4,
                    "Der Staat sollte verantwortlich sein" =3,
                    "Der Staat sollte nicht verantwortlich sein" =2,
                    "Der Staat sollte auf keinen Fall verantwortlich sein"=1)

sti <- data %>% dplyr::select(sti1,sti2,sti3,sti4,sti5,sti6)

data$supportintervention <- rowMeans(sti, na.rm=T)

#creating binary variable for supporting government intervention
median_support_sti <- median(data$supportintervention,na.rm = T)

data$highsupportintervention <- ifelse(data$supportintervention >= median_support_sti,1,
                                       ifelse(data$supportintervention < median_support_sti,0,NA))
data$lowsupportintervention <- ifelse(data$supportintervention >= median_support_sti,0,
                                       ifelse(data$supportintervention < median_support_sti,1,NA))


##only econ variables
sti_econ <- data %>% dplyr::select(sti2,sti5)

data$supportinterventionecon <- rowMeans(sti_econ, na.rm=T)

#creating binary variable for supporting government intervention, without econ variables
median_supportintervention_econ <- median(data$supportinterventionecon,na.rm = T)

data$highsupportinterventionecon <- ifelse(data$supportinterventionecon >= median_supportintervention_econ,1,
                                              ifelse(data$supportinterventionecon < median_supportintervention_econ,0,NA))
data$lowsupportinterventionecon <- ifelse(data$supportinterventionecon >= median_supportintervention_econ,0,
                                             ifelse(data$supportinterventionecon < median_supportintervention_econ,1,NA))


##only workers
sti_workers <- data %>% dplyr::select(sti1,sti6)

data$supportinterventionworkers <- rowMeans(sti_workers, na.rm=T)

#creating binary variable for supporting government intervention, without econ variables
median_supportintervention_workers <- median(data$supportinterventionworkers,na.rm = T)

data$highsupportinterventionworkers <- ifelse(data$supportinterventionworkers >= median_supportintervention_workers,1,
                                            ifelse(data$supportinterventionworkers < median_supportintervention_workers,0,NA))
data$lowsupportinterventionworkers <- ifelse(data$supportinterventionworkers >= median_supportintervention_workers,0,
                                           ifelse(data$supportinterventionworkers < median_supportintervention_workers,1,NA))



##only old and sick

sti_frail <- data %>% dplyr::select(sti3,sti4)

data$supportinterventionfrail <- rowMeans(sti_frail, na.rm=T)

#creating binary variable for supporting government intervention, without econ variables
median_supportintervention_frail <- median(data$supportinterventionfrail,na.rm = T)

data$highsupportinterventionfrail <- ifelse(data$supportinterventionfrail >= median_supportintervention_frail,1,
                                               ifelse(data$supportinterventionfrail < median_supportintervention_frail,0,NA))
data$lowsupportinterventionfrail <- ifelse(data$supportinterventionfrail >= median_supportintervention_frail,0,
                                              ifelse(data$supportinterventionfrail < median_supportintervention_frail,1,NA))




#believe/don't believe in man-made climate change

data$climatehumans <- ifelse(data$climate_belief == "Der Klimawandel ist hauptsächlich menschengemacht",1,0)



#Income quintile

data$income.y <- iconv(data$income.y, from = "ISO-8859-1", to = "UTF-8")
data$income.y[grepl("49801",data$income.y)] <- "49801 EUR and above"

data$incomequintiles <-dplyr::recode(data$income.y,
                               "0 EUR - 17280 EUR" = "quint1",
                               "17281 EUR - 25680 EUR" = "quint2",
                               "25681 EUR - 35520 EUR" = "quint3",
                               "35521 EUR - 49800 EUR" = "quint4",
                               "49801 EUR and above" = "quint5")

data$incomequint1 <- ifelse(data$incomequintiles=="quint1",1,0)
data$incomequint2 <- ifelse(data$incomequintiles=="quint2",1,0)
data$incomequint3 <- ifelse(data$incomequintiles=="quint3",1,0)
data$incomequint4 <- ifelse(data$incomequintiles=="quint4",1,0)
data$incomequint5 <- ifelse(data$incomequintiles=="quint5",1,0)


#gender
data$gender <-dplyr::recode(data$gender.y,
                      "female" = "female",
                      "male" = "male",
                      "Divers" = "other")

data$male <- ifelse(data$gender=="male",1,0)

data$female <- ifelse(data$gender=="female",1,0)

#age
data$under30 <- ifelse(data$age <30,1,0)
data$btw30and65 <- ifelse(data$age >29 & data$age <66,1,0)
data$over65 <- ifelse(data$age>65,1,0)


#East Germany
data$eastgermany <- ifelse(data$D5 %in% c("Sachsen-Anhalt","Brandenburg", "Sachsen","Thüringen","Mecklenburg-Vorpommern"),1,0)

#white collar worker
data$whitecollarworker <- ifelse((data$tasks_3 %in% c("Mindestens einmal pro Monat", "Mindestens einmal pro Woche"))|(data$tasks_4 %in% c("Mindestens einmal pro Monat", "Mindestens einmal pro Woche"))|(data$tasks_5 %in% c("Mindestens einmal pro Monat", "Mindestens einmal pro Woche")),1,0)

#left-wing/right-wing/centrist
data$left <- ifelse(data$left_right_4 %in% c("0", "1", "2", "3", "4"),1,0)


#mockvignette before experiment
order <- (strsplit(data$FL_112_DO, "[|]"))

mv.position <- unlist(lapply(order, function(x) grep("Mock_Vignette",x)))
candidate.position <- unlist(lapply(order, function(x) grep("ExperimentCandidates",x)))
coal.position <- unlist(lapply(order, function(x) grep("CoalExitVignetteExperiment",x)))
wtp.position <- unlist(lapply(order, function(x) grep("ConditionalWillingnesstoPayVignette/ConjointExperiment",x)))


order <- cbind.data.frame(mv.position, candidate.position, coal.position, wtp.position)

order$mvbeforecandidate <- ifelse(order$mv.position < order$candidate.position,1,0)
order$mvbeforecoal <- ifelse(order$mv.position<order$coal.position,1,0)
order$mvbeforewtp <- ifelse(order$mv.position<order$wtp.position,1,0)

data <- cbind(data, order)

#constructing dummy for attention check before experiment & passed
#we will treat those who answered 2/3 MV questions correctly as attentive
data$MVal2 <- ifelse(data$MVtotal > 1, 1,0)

data$candidateattention <- ifelse(data$MVal2 * data$mvbeforecandidate == 1, 1,0)
data$coalattention <- ifelse(data$MVal2 * data$mvbeforecoal == 1, 1,0)
data$wtpattention <- ifelse(data$MVal2 * data$mvbeforewtp == 1, 1,0)



####################################################################################################################################
############################################Reshape Data for Conjoints##############################################################
####################################################################################################################################


`%notin%` <- Negate(`%in%`)

data_cand <- data.frame()

#creating a vector of all the column names related to the candidate conjoint experiment
colname_vars_cand_conj <- c()
for(i in 1:5){
  colname_out <- paste("X", i ,"_E1_candchoice", sep="" )
  colnames_var1 <- c(paste("choice", i, "_Partei1", sep=""), 
                     paste("choice", i, "_Energiepolitik1", sep=""), 
                     paste("choice", i, "_Sozialpolitik1", sep=""),
                     paste("choice", i, "_Migrationspol1", sep=""),
                     paste("choice", i, "_gender1", sep=""))
  colnames_var2 <- c(paste("choice", i, "_Partei2", sep=""), 
                     paste("choice", i, "_Energiepolitik2", sep=""), 
                     paste("choice", i, "_Sozialpolitik2", sep=""),
                     paste("choice", i, "_Migrationspol2", sep=""),
                     paste("choice", i, "_gender2", sep=""))
  colname_vars_cand_conj <- c(colname_vars_cand_conj, colname_out, colnames_var1, colnames_var2)
}

new.names <- c("candidate_choice", "cand_party", "energy_policy", "social_policy", "migration_policy", "cand_gender")


for(c in 1:5){
  #first, paste variable names that I need to collect - conjoint values and choice values for 1 and 2
  
  temp <- data
  colname_out <- paste("X", c ,"_E1_candchoice", sep="" )
  colnames_var1 <- c(paste("choice", c, "_Partei1", sep=""), 
                     paste("choice", c, "_Energiepolitik1", sep=""), 
                     paste("choice", c, "_Sozialpolitik1", sep=""),
                     paste("choice", c, "_Migrationspol1", sep=""),
                     paste("choice", c, "_gender1", sep=""))
  
  colnames_var2 <- c(paste("choice", c, "_Partei2", sep=""), 
                     paste("choice", c, "_Energiepolitik2", sep=""), 
                     paste("choice", c, "_Sozialpolitik2", sep=""),
                     paste("choice", c, "_Migrationspol2", sep=""),
                     paste("choice", c, "_gender2", sep=""))
  
  all_vars1 <- c(colname_out, colnames_var1)
  all_vars2 <- c(colname_out, colnames_var2)
  
  #data that only looks at whether or not candidate 1 was chosen - 
  delete.1 <-  subset(colname_vars_cand_conj,colname_vars_cand_conj %notin% all_vars1)
  temp.1 <- data[, - which(names(data) %in% delete.1)]
  names(all_vars1) <- new.names
  
  #renaming columns into universal names
  temp.1 <- temp.1 %>% rename(!!all_vars1)
  
  #coding 1 or 0 for candidate choice
  
  temp.1$cand_choice <- ifelse(temp.1$candidate_choice == "Kandidat/in 1", 1, 0)
  
  temp.1$table_position_cand <- "leftside"
  
  #data that only looks at whether or not candidate 2 was chosen
  delete.2 <-  subset(colname_vars_cand_conj,colname_vars_cand_conj %notin% all_vars2)
  temp.2 <- data[, - which(names(data) %in% delete.2)]
  names(all_vars2) <- new.names
  
  #renaming columns into universal names
  temp.2 <- temp.2 %>% rename(!!all_vars2)
  
  #coding 1 or 0 for candidate choice
  
  temp.2$cand_choice <- ifelse(temp.2$candidate_choice == "Kandidat/in 2", 1, 0)
  
  temp.2$table_position_cand <- "rightside"
  
  #rbind the two 
  temp <- rbind(temp.1, temp.2)
  temp$iteration_cand <- c
  #rbind together 
  data_cand <- rbind(data_cand, temp)
}

data_cand$candidate_choice = NULL

#transforming data for the willingness to pay conjoint:

data_wtp <- data.frame()

#creating a vector of all the column names related to the candidate conjoint experiment (add timing variables?)
colname_vars_wtp_conj <- c()

for(i in 1:5){
  colname_out_wtp <- c(paste("X", i ,"_E4_prefplan", sep="" ), paste("X", i ,"_E4_firmplan", sep="" ), paste("X", i ,"_E5_peopleplan", sep="" ))
  colnames_var1_wtp <- c(paste("choice", i, "_Kosten1", sep=""), 
                         paste("choice", i, "_Effektivitat1", sep=""), 
                         paste("choice", i, "_Entschadigung1", sep=""),
                         paste("choice", i, "_Wettbewerbsforderung1", sep=""))
  
  colnames_var2_wtp <- c(paste("choice", i, "_Kosten2", sep=""), 
                         paste("choice", i, "_Effektivitat2", sep=""), 
                         paste("choice", i, "_Entschadigung2", sep=""),
                         paste("choice", i, "_Wettbewerbsforderung2", sep=""))
  
  colname_vars_wtp_conj <- c(colname_vars_wtp_conj, colname_out_wtp, colnames_var1_wtp, colnames_var2_wtp)
}

new.names_wtp <- c("plan_choice", "cost", "effectiveness", "compensation", "competition")


#use dataset b
for(c in 1:5){
  #first, paste variable names that I need to collect - conjoint values and choice values for 1 and 2
  
  temp <- data
  colname_out_wtp <- c(paste("X", c ,"_E4_prefplan", sep="" ))
  colnames_var1_wtp <- c(paste("choice", c, "_Kosten1", sep=""), 
                         paste("choice", c, "_Effektivitat1", sep=""), 
                         paste("choice", c, "_Entschadigung1", sep=""),
                         paste("choice", c, "_Wettbewerbsforderung1", sep=""))
  
  colnames_var2_wtp <- c(paste("choice", c, "_Kosten2", sep=""), 
                         paste("choice", c, "_Effektivitat2", sep=""), 
                         paste("choice", c, "_Entschadigung2", sep=""),
                         paste("choice", c, "_Wettbewerbsforderung2", sep=""))
  
  all_vars1_wtp <- c(colname_out_wtp, colnames_var1_wtp)
  all_vars2_wtp <- c(colname_out_wtp, colnames_var2_wtp)
  
  #data that only looks at whether or not candidate 1 was chosen - 
  delete.1_wtp <-  subset(colname_vars_wtp_conj,colname_vars_wtp_conj %notin% all_vars1_wtp)
  temp.1 <- data[, - which(names(data) %in% delete.1_wtp)]
  names(all_vars1_wtp) <- new.names_wtp
  
  #renaming columns into universal names
  temp.1 <- temp.1 %>% rename(!!all_vars1_wtp)
  temp.1$table_position_wtp <- "leftside"
  
  #coding 1 or 0 for candidate choice
  
  temp.1$choice_plan <- ifelse(temp.1$plan_choice == "Plan 1", 1, 0)

  #data that only looks at whether or not candidate 2 was chosen
  delete.2_wtp <-  subset(colname_vars_wtp_conj,colname_vars_wtp_conj %notin% all_vars2_wtp)
  temp.2 <- data[, - which(names(data) %in% delete.2_wtp)]
  names(all_vars2_wtp) <- new.names_wtp
  
  #renaming columns into universal names
  temp.2 <- temp.2 %>% rename(!!all_vars2_wtp)
  
  #coding 1 or 0 for candidate choice
  
  temp.2$choice_plan <- ifelse(temp.2$plan_choice == "Plan 2", 1, 0)
  temp.2$table_position_wtp <- "rightside"
  
  #rbind the two 
  temp <- rbind(temp.1, temp.2)
  temp$iteration_wtp <- c
  #rbind together 
  data_wtp <- rbind(data_wtp, temp)
}

data_wtp$plan_choice = data_wtp$plan_firms = data_wtp$plan_people = NULL


####################################################################################################################################
############################################More Data Cleaning for Conjoints########################################################
####################################################################################################################################

#renaming variables and setting new comparison groups
data_cand$migration_policy <-dplyr::recode(data_cand$migration_policy,
                                     'Unterstützt effektivere Maßnahmen, die Flüchtlinge mit legalem Aufenthaltsrecht in Deutschland eingliedern' = "Integrate Refugees Better",
                                     'Unterstützt mehr finanzielle Hilfe für die Errichtung von Flüchtlingslagern in Ländern, die an Kriegsgebiete angrenzen' = 'Refugee Camps Abroad',
                                     'Unterstützt effektivere Maßnahmen um Flüchtlinge aus Deutschland fernzuhalten' = "Keep Refugees Away")

data_cand$migration_policy <- relevel(as.factor(data_cand$migration_policy), 
                                      "Refugee Camps Abroad")

data_cand$cand_gender <-dplyr::recode(data_cand$cand_gender,
                                'Frau' = "female",
                                "Mann" = "male"
)

data_cand$cand_gender <- relevel(as.factor(data_cand$cand_gender),
                                 "female")

#we have since fixed these spelling mistakes,dplyr::recode with the values in the data
data_cand$social_policy <-dplyr::recode(data_cand$social_policy,
                                  'Unterstützt keine Reform des Rentenalters' = "No Pension Reform",
                                  'Unterstützt eine Erhebung des Rentenalters auf 68' = "Raise Pension Age",
                                  'Hält Frührente für akzeptabel da es nicht genügend Stellen für Arbeitsuchende gibt' = "Early Retirement OK")

data_cand$social_policy <- relevel(as.factor(data_cand$social_policy),
                                   "No Pension Reform")

data_cand$energy_policy <-dplyr::recode(data_cand$energy_policy,
                                  "Glaubt, dass die derzeitige Energiewende zu schnell ist und unterstützt Verlangsamung der Maßnahmen für CO2 - Neutralität" = "Slow Down Energy Transition",
                                  " Unterstützt eine Weiterführung der Energiewende im derzeit vorgesehenen Tempo, aber fordert erhöhte Zuschüsse für energieintensive Unternehmen, um deren Wettbewerbsfähigkeit zu bewahren" = "Subsidies for Competitiveness",
                                  "Unterstützt eine Weiterführung der Energiewende im derzeit vorgesehenen Tempo, aber fordert erhöhte Zuschüsse für Energiekosten für Personen mit geringem Einkommen" = "Subsidies for Low Income Households",
                                  "Unterstützt eine Weiterführung der Energiewende im derzeit vorgesehenen Tempo" = "Continue at Current Speed"
)
data_cand$energy_policy <- relevel(as.factor(data_cand$energy_policy),
                                   "Continue at Current Speed")

data_cand$cand_party <- relevel(as.factor(data_cand$cand_party),
                                " CDU/CSU")


data_wtp$cost <-dplyr::recode(data_wtp$cost, 
                        "150 Euro pro Jahr" = "150 EUR per Year",
                        "300 Euro pro Jahr" = "300 EUR per Year",
                        "600 Euro pro Jahr" = "600 EUR per Year",
                        "1200 Euro pro Jahr" = "1200 EUR per Year"
)

data_wtp$cost <- relevel(as.factor(data_wtp$cost), 
                         "150 EUR per Year")


data_wtp$effectiveness <-dplyr::recode(data_wtp$effectiveness, 
                                 "Die meisten Experten glauben, dass Deutschland mit diesem Plan seine CO2 Emissionen bis 2030 um 55 Prozent reduzieren könnte" = "55% CO2 Reduction by 2030",
                                 " Die meisten Experten glauben, dass Deutschland mit diesem Plan seine CO2 Emissionen bis 2030 um 25 Prozent reduzieren könnte" = "25% CO2 Reduction by 2030")

data_wtp$effectiveness <- relevel(as.factor(data_wtp$effectiveness),
                                  "25% CO2 Reduction by 2030")

#recode with the new values in the data that we added later
data_wtp$compensation <-dplyr::recode(data_wtp$compensation,
                                "Hohe CO2 Dividende, die Bürger für höhere Energiekosten durch Klimapolitik entschädigt und höhere Summen an Menschen mit niedrigem Einkommen zahlt." = "High Progressive Carbon Dividend",
                                "Niedrige CO2 Dividende, die an alle Bürger die gleiche Summe zahlt und sie dadurch für höhere Energiekosten durch Klimapolitik entschädigt." = "Low Lump Sum Carbon Dividend",
                                "Niedrige CO2 Dividende, die Bürger für höhere Energiekosten durch Klimapolitik entschädigt und höhere Summen an Menschen mit niedrigem Einkommen zahlt." = "Low Progressive Carbon Dividend",
                                "Hohe CO2 Dividende, die an alle Bürger die gleiche Summe zahlt und sie dadurch für höhere Energiekosten durch Klimapolitik entschädigt." = "High Lump Sum Carbon Dividend",
                                "Keine Veränderung von bestehenen Entschädigungszahlungen" = "No Change")

data_wtp$compensation <- relevel(as.factor(data_wtp$compensation),
                                 "No Change")

#recode with the new values in the data that we added later
data_wtp$competition <-dplyr::recode(data_wtp$competition,
                               "Keine Veränderung von bestehender Wettbewerbsförderung" = "No Change",
                               "Umweltkapitel in zukünftigen Handelsabkommen um andere Länder zur CO2 Bepreisung zu verpflichten" = "Environmental Clauses in PTAs",
                               "CO2 Grenzsteuer, die die Preise von Gütern anpasst, die in Ländern mit weniger strenger Klimapolitik produziert wurden." = "Carbon Border Tax")


data_wtp$competition <- relevel(as.factor(data_wtp$competition),
                                "No Change")


data_wtp$control <- ifelse(data_wtp$willingnesstopay=="1", 1,0)
data_wtp$compensationt <- ifelse(data_wtp$willingnesstopay=="2", 1,0)
data_wtp$carbontax <- ifelse(data_wtp$willingnesstopay=="3", 1,0)


data_cand$all=1
data$all=1
data_wtp$all=1

data_wtp$climate_policyn <- dplyr::recode(data_wtp$climate_policy ,
                                          "Ich bin voll und ganz dafür" = 4,
                                          "Ich bin eher dafür" = 3,
                                          "Ich bin weder dagegen noch dafür" =2,
                                          "Ich bin eher dagegen"=1,
                                          "Ich bin voll und ganz dagegen" = 0 
                                          
)

data_cand$climate_policyn <- dplyr::recode(data_cand$climate_policy ,
                                           "Ich bin voll und ganz dafür" = 4,
                                           "Ich bin eher dafür" = 3,
                                           "Ich bin weder dagegen noch dafür" =2,
                                           "Ich bin eher dagegen"=1,
                                           "Ich bin voll und ganz dagegen" = 0 
                                           
)

#fix Thueringen 
data_cand$region <- iconv(data_cand$region, from = "ISO-8859-1", to = "UTF-8")
data$region <- iconv(data$region, from = "ISO-8859-1", to = "UTF-8")
data_wtp$region <- iconv(data_wtp$region, from = "ISO-8859-1", to = "UTF-8")


data_cand$region[grepl("ringen", data_cand$region)] <- "Thuringen"
data$region[grepl("ringen", data$region)] <- "Thuringen"
data_wtp$region[grepl("ringen", data_wtp$region)] <- "Thuringen"

#keeping industry support only variable

data_cand$industry_help <- recode(data_cand$state_intervention_5,
                                  "Der Staat sollte auf keinen Fall verantwortlich sein" =0,
                                  "Der Staat sollte nicht verantwortlich sein" =0,
                                  "Der Staat sollte auf jeden Fall verantwortlich sein"=1,
                                  "Der Staat sollte verantwortlich sein"=1)

data_cand$ind_help_supp <- ifelse(data_cand$industry_help==1,1,0)


data$industry_help <- recode(data$state_intervention_5,
                                  "Der Staat sollte auf keinen Fall verantwortlich sein" =0,
                                  "Der Staat sollte nicht verantwortlich sein" =0,
                                  "Der Staat sollte auf jeden Fall verantwortlich sein"=1,
                                  "Der Staat sollte verantwortlich sein"=1)

data$ind_help_supp <- ifelse(data$industry_help==1,1,0)

#reducing to columns used in the analyses

data_coal.f <- data %>% select(tic,ResponseId, all, 
                          region, age,gender,incomequintiles,
                          willingnesstopay,
                          party_2021_2, left_right_4, climate_policyn, climatehumans,
                          supportintervention, highsupportintervention, lowsupportintervention,
                          supportinterventionfrail, highsupportinterventionfrail,lowsupportinterventionfrail,
                          supportinterventionecon, highsupportinterventionecon,lowsupportinterventionecon,
                          supportinterventionworkers,highsupportinterventionworkers,lowsupportinterventionworkers,
                          candidateattention, wtpattention,coalattention,
                          coalexit, coalexitpremax, coalexitsooner, E3_exitsupport,coalexitsupport,
                          female,male, 
                          incomequint1, incomequint2, incomequint3, incomequint4, incomequint5,
                          under30,btw30and65,over65,eastgermany,whitecollarworker,
                          sti1,sti2,sti3,sti4,sti5,sti6,left,ind_help_supp
                          )

data_cand.f <- data_cand %>% select(tic,ResponseId, all, migration_policy, cand_gender, social_policy,
                          energy_policy, cand_party, region, age,gender,incomequintiles, cand_choice,
                          party_2021_2, left_right_4, climate_policyn, climatehumans,
                          supportintervention, highsupportintervention, lowsupportintervention,
                          supportinterventionfrail, highsupportinterventionfrail,lowsupportinterventionfrail,
                          supportinterventionecon, highsupportinterventionecon,lowsupportinterventionecon,
                          supportinterventionworkers,highsupportinterventionworkers,lowsupportinterventionworkers,
                          candidateattention, ind_help_supp)

data_wtp.f <- data_wtp %>% select(tic,ResponseId,all, region, age,gender,incomequintiles,
                                  cost, effectiveness,compensation,competition,choice_plan,
                                  control,willingnesstopay,compensationt,carbontax,
                              party_2021_2, left_right_4, climate_policyn, climatehumans,
                              supportintervention, highsupportintervention, lowsupportintervention,
                              supportinterventionfrail, highsupportinterventionfrail,lowsupportinterventionfrail,
                              supportinterventionecon, highsupportinterventionecon,lowsupportinterventionecon,
                              supportinterventionworkers,highsupportinterventionworkers,lowsupportinterventionworkers,
                              wtpattention)

write.csv(data_coal.f , "data.coal.cleaned.final.csv", row.names=FALSE)
write.csv(data_cand.f, "data.cand.final.csv", row.names=FALSE)
write.csv(data_wtp.f, "data.wtp.final.csv", row.names=FALSE)



